package cn.tedu.innerclass;
/*本类用来测试局部内部类*/
public class TestInner4 {
    public static void main(String[] args) {
        /*如何使用内部类的资源呢?
         * 注意:直接调用外部类的show()是无法触发内部类功能的
         * 需要在外部类中创建内部类对象并且进行调用,才能触发内部类的功能*/ //创建和触发
        //5.创建外部类对象调用show()
        new Outer4().show();//循环往复无序,对象可以随意创建和调用
         //new Outer4().new Inner4();//使用成员内部类
    }
}
//1.创建外部类
class Outer4{
    //2.创建外部类的成员方法
    public void show(){
        System.out.println("我是外部类的show()");
        //3.创建局部内部类
        /*局部内部类的位置在方法里, ,,,局部内部类在方法里*/

        //Inner4 in3 = new Inner4();   //先加载了内部类资源,才能在同一个方法里面创建对象,只针对局部内部类(方法里面的局部内部类的创建方法1)只能)
        //外部类的成员方法里面的局部内部类的创建方法1)只能
        class Inner4{
            //4.创建局部内部类的资源
            String name;
            int age;
            public void eat(){
                System.out.println("我是局部内部类的eat()");
            }
        }
        //6.在show()里,内部类结束后创建内部类对象//局部内部类,结束后,就可以创建内部类Object,,
        Inner4 in = new Inner4();
        in.eat();  //回退到24 line的 调用功能,,如同测试类通过其它类对象,调用其它类资源(来回穿插,无序),,
        System.out.println(in.age);
        System.out.println(in.name);

        Inner4 in2 = new Inner4();
    }
}